package com.zhichubao.enterprise.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author wangzhiwei
 * @since 2021-04-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("employee")
@ApiModel(value="Employee对象", description="")
public class Employee implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "租户id")
    private Long tenantId;

    @ApiModelProperty(value = "登录名")
    private String loginName;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "员工编号")
    private String empNo;

    @ApiModelProperty(value = "手机号码")
    private String mobile;

    @ApiModelProperty(value = "性别:1:男 2:女")
    private Integer gender;

    @ApiModelProperty(value = "头像地址")
    private String headImgUrl;

    @ApiModelProperty(value = "法律实体")
    private Long legalEntityId;

    @ApiModelProperty(value = "职位")
    private String position;

    @ApiModelProperty(value = "汇报上级")
    private Long superiorId;

    @ApiModelProperty(value = "员工类型：正式工，临时工，劳务外包，实习生，预留字段")
    private String empType;

    @ApiModelProperty(value = "职位级别id")
    private Long employeePositionLevelId;

    @ApiModelProperty(value = "业务部门")
    private Long deptId;

    @ApiModelProperty(value = "所在大区")
    private Long regionId;

    @ApiModelProperty(value = "工作城市")
    private String cityCode;

    private String provinceCode;

    private String areaCode;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "姓名")
    private String empName;

    @ApiModelProperty(value = "成本中心")
    private Long costCenterId;

    @ApiModelProperty(value = "产品代码")
    private Long productId;

    @ApiModelProperty(value = "金额授权")
    private Long employeePayAuthorizationId;

    @ApiModelProperty(value = "科目金额授权-预留")
    private Long accountAuthorizationId;

    @ApiModelProperty(value = "收货地址")
    private Long receiveAddressId;

    @ApiModelProperty(value = "发票地址")
    private Long invoiceAddressId;

    @ApiModelProperty(value = "手机号码是否已激活(是否可用手机号登陆)")
    private Boolean isUseMobileLogin;

    @ApiModelProperty(value = "是否启用: 0: 未启用，1:启用")
    private Boolean isActive;

    @ApiModelProperty(value = "是否删除 0:未删除, 1:已经删除")
    private Boolean isDelete;

    @ApiModelProperty(value = "更新人")
    private String updator;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "创建人")
    private String creator;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    private Boolean isEmailNotify;

    @ApiModelProperty(value = "是否隐藏邮箱")
    private Boolean isHiddenEmail;

    @ApiModelProperty(value = "是否隐藏手机号")
    private Boolean isHiddenMobile;

    @ApiModelProperty(value = "第三方平台编号")
    private String otherPlatformCode;

    @ApiModelProperty(value = "1 自建 2 U9  3 致远OA 5小米")
    private Integer createType;

    @ApiModelProperty(value = "衡石userId")
    private Long hsUserId;

    private String miSuperiorId;


}
